package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.openfeign.EnableFeignClients;


/**
 * 由于openfeign 依赖中已经间接依赖了feign-hystrix,所以没必要再去依赖hystrix的依赖，也不用再这里添加@EnableHystrix的注解主动声明开起hystrix,
 * 只需要再application.yml中开启feign的hystrix就可以，但是这里为什么我们又引入了hystrix的依赖呢，而且还添加了注解@EnableHystrix，这是因为这个注解的一个作用是暴露
 * hystrix.stream enpoint，不添加的话hystrix dashboard 不能访问到这个端点
 */
@SpringBootApplication
@EnableDiscoveryClient  //一般使用这个 因为这个注解不单单适用于eureka 还适用与别的注册中心，不过在高版本eureka中已经都不需要了 只要引入依赖包就会自动注册
@EnableFeignClients
@EnableHystrix
public class HystrixFullApplication {

    public static void main(String[] args) {
        SpringApplication.run(HystrixFullApplication.class, args);
    }
}
